package com.suneee.permission.service;

import java.util.List;
import java.util.Map;

import com.suneee.permission.bean.PermissionDto;
import com.suneee.permission.entity.Permission;

public interface PermissionService {

	/**
	 * 添加权限
	 * @param permission
	 */
	public void add(Permission permission);
	
	/**
	 * 删除权限
	 * @param permissionId
	 */
	public void delete(Integer permissionId,String code,String groupName);
	
	/**
	 * 修改权限
	 * @param permissionId
	 */
	public void update(Permission permission);
	
	/**
	 * 启用/禁用   
	 * enable  1:启用,0:禁用
	 * code 权限编码
	 * @param permissionId
	 */
	public void enable(Permission permission);
	
	
	/**
	 * 获得所有权限
	 * @param enterpriseCode
	 * @return
	 */
	public List<Permission> permissionList(PermissionDto dto);
	
	/**
	 * 查询单个菜单
	 * @param dto
	 * @return
	 */
	
	public Permission querySiglePerMissionInfo(Permission permission);
	
	/**
	 * 角色尚未授权的权限
	 * @param roleId
	 * @return
	 */
	public List<Permission> notUsedPermissionList(Integer roleId);
	
	/**
	 * 查询菜单下是否还有子菜单
	 * @param roleId
	 * @return
	 */
	public Map<String,Integer> isMenuChildren(String code);
	
	
	public void initRolePermissionInfo();
}
